//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

namespace Microsoft.Research.ScientificWorkflow.UIDesigner
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections.ObjectModel;
    using System.Windows.Controls;

    public interface ICompositeUIElement
    {
        Panel MainContentHolder
        {
            get;
        }

        ObservableCollection<ITridentUIElement> ChildElements
        {
            get;
        } 

        void AddChildElement(ITridentUIElement childElement);
        void InsertChildElement(ITridentUIElement childElement, int indexToInsertAt);
        bool RemoveChildElement(ITridentUIElement childElement);
        void RemoveChildElementAt(int indexOfChild);
    }
}
